package com.wfg.function

object TestFunction1 {

  def main(args: Array[String]): Unit = {
    def f5(fun:(Int, Int)=>Int):Int={
      fun(1,2)
    }

    /**
     * 在Scala中，使用def语句定义以及调用函数的格式均与方法一样。
     * Scala函数与Scala方法有所区别，可以使用val语句定义函数的格式。
     * 且函数必须要有参数列表，而方法可以没有参数列表。
     */
    // 函数定义
    // val  functionName = ([参数列表]) => function body
    val add = (a : Int, b : Int) => a + b
    val mius = (a : Int, b : Int) => a - b

    println(f5(add))
    println(f5(mius))

    println(f5((a,b)=> a+b))
    println(f5((a,b)=> a-b))

    println(f5((a,b)=> a+b))
  }
}
